1. Technical Field
The present invention relates generally to a global positioning system (GPS), in particular, a receiver for use in a GPS and a method thereof.
2. Discussion of Related Art
A Global Positioning System (GPS) receiver determines its position by computing the distance from and relative times of arrival of signals transmitted simultaneously from a number of GPS satellites. These satellites transmit, as part of their message, both satellite positioning data including pseudo-random codes as well as data on clock timing.
Using the received pseudo-random codes, the GPS receiver determine pseudoranges to the various GPS satellites, and computes the position of the receiver using these pseudoranges and satellite timing and data on clock timing. The pseudoranges are time delay values measured between the received signals from each satellite and a local clock signal. Usually GPS signals from four or more satellites are received. The satellite data on clock timing and signature data is extracted from the GPS signals once a satellite is acquired and tracked. Acquiring GPS signals can take up to several seconds and must be accomplished with a sufficiently strong received signal to achieve low error rates.
GPS signals contain high rate repetitive signals called pseudorandom (PN) codes. The codes available for civilian applications are called C/A (coarse/acquisition) codes, and have a binary phase-reversal rate, or “chipping” rate, of 1.023 MHz and a repetition period of 1023 chips for a code period of 1 millisecond. The codes sequences belong to a family known as Gold codes, and each GPS satellite broadcasts a signal with a unique Gold code.
Most GPS receivers use correlation methods to compute pseudoranges. A correlator multiplies the received signal by a stored replica of the appropriate Gold code contained within its local memory, and then integrates the product to obtain a correlation or sampling value, which is used as indication of the presence of the satellite signal. By sequentially adjusting the relative timing of this stored replica relative to the received signal, and observing the correlation output, the receiver can determine the time delay between the received signal and a local clock. The initial determination of the presence of such an output is termed “acquisition.” Once acquisition occurs, the process enters the “tracking” phase in which the timing of the local reference is adjusted in small amounts to maintain a high correlation output.
Global Position Satellite Systems utilize a multiplicity of satellites (constellation) to simultaneously transmit signals to a receiver to permit position location of the receiver by measurement of time-differences of arrival between these multiple signals. In general, the signals from the different satellites do not significantly interfere with one another, since they utilize different pseudorandom spreading codes that are nearly orthogonal to one another. This low interference condition depends upon the power levels (amplitudes) of the received signals being similar to one another.
To reduce acquisition time, a GPS receiver uses several channels to handle signals that may come from several satellites. Each channel includes multi-correlation taps for use in the correlation operations. Typically, the data received at each correlation tap is stored in a memory. The stored data is processed and correlated. The size of the memory is proportional to the number of channels and taps. To reduce acquisition time, memory having sufficient capacity and speed is needed. However as a memory component ratio in the GPS receiver increases, it becomes more difficult to miniaturize the GPS receiver.
FIG. 1 shows a block diagram of a conventional GPS receiver having an antenna 1, a down converter 2, a local oscillator 3, and an A/D converter 4, receiver channels 5, a receiver processor 6, a navigation processor 7, and a user interface 8. In operation, the antenna 1 receives signals through the air transmitted from a constellation of satellites. The down converter 2 converts the high frequency signal received at the antenna 1 to a lower intermediate frequency (IF) signal by mixing the signals with a local oscillation signal generated by the local oscillator 3. The A/D converter 4 converts the analog IF signals to digital signals for processing by the receiver channels 5. The IF signals received at the receiver channels 5 is processed by the receiver channels 5, the receiver processor 6 and the navigation processor 7. The receiver channels 5 have N channels and the N channels can be set by a manufacturer. The primary functions of the receiver processor 6 include generating a plurality of pseudoranges for each satellite and perform the correlation operation with the in-phase (I) and quadrature-phase (Q) data of each channel. The navigation processor 7 sets a position value using different pseudoranges for the different satellites. The user interface 8 is used to display the position data.
FIG. 2 shows a block diagram of one of the N channels in receiver channel 5 of FIG. 1. The digital IF signals received from the A/D converter 4 of FIG. 1 are fed to in-phase/quadrature-phase multipliers 10 wherein the IF signals are multiplied with signals generated by in-phase sine map 11 and quadrature-phase cosine map 12 or quadrature-phase sine map 11 and in-phase cosine map 12, each of which is in turn generated by a Numerical Code Oscillator (NCO) 19. The output of the in-phase/quadrature-phase multipliers 10 are in-phase IF signals corresponding to the phase of sine map 11 and quadrature-phase IF signals corresponding to the phase of cosine map 12 or the output of the in-phase/quadrature-phase multipliers 10 are quadrature-phase IF signals corresponding to the phase of sine map 11 and in-phase IF signals corresponding to the phase of cosine map 12. The receiver processor 6 generates the numerical code for controlling the NCO 19 for generating a Doppler frequency. The receiver processor 6 also generates a clock control signal input to code NCO 18 for interlocking the PN code generator 16. Pseudo-random codes associated with the satellites are generated by the PN code generator 16. The PN codes are shifted by code shifters 17 and output to a plurality of correlators 13. Correlation is performed using the correlators 13 by comparing the phase shifted PN codes to the I and Q data received from the in-phase/quadrature-phase multipliers 10. The correlated I and Q data from the correlators 13 are output to an integrator 14 wherein the correlated I and Q values are integrated. The integrated values, also known as sampling values, are stored in memory 15. Typically, each channel of the N channels of receiver channels 5 stores in memory 15 all sampling values sampled by the integrator 14 for a given duration, such as 1 millisecond for each tap. Upon collection of a predetermined number of samples, the sampled values are forwarded to an FFT unit 20 wherein fast Fourier transform is performed to determine if a peak (correlation) exists for this tap. If a peak is found, the receiver processor 6 extracts the frequency and code value information from the tap to calculate pseudoranges for acquisition.
If it is determined that a peak does not exist in the sampled tap, the sampling, correlation, and FFT processing is repeated for each tap until the peak tap is located.
It can be seen from this process that a large amount of data need to be stored in the receiver memory 15. Thus, memory having sufficient capacity is needed. Further, because of the need to access memory data for processing, memory access time is an important factor affecting acquisition speed and thus performance of the receiver.